package com.best.member.serice;

import com.best.core.entity.CommonResult;
import com.best.member.input.dto.UserLoginInpDTO;
import com.best.member.input.dto.UserRegisterDTO;
import com.best.member.output.dto.UserOutputDTO;

/**
 * @ClassName: MemberService
 * @Package: com.best.member.serice
 * @Description: 会员业务层接口
 * @Datetime: 2020/6/10 15:17
 * @Author: nike
 */
public interface MemberService {
    /**
     * 会员注册
     * 
     * @param userRegisterDTO
     * @return
     */
    CommonResult register(UserRegisterDTO userRegisterDTO);

    /**
     * 根据手机号码查询是否已经存在,如果存在返回当前用户信息
     * 
     * @param mobile
     * @return
     */
    CommonResult<UserOutputDTO> verifyMobile(String mobile);

    /**
     * 会员登录
     * 
     * @param userLoginInpDTO
     * @return
     */
    CommonResult login(UserLoginInpDTO userLoginInpDTO, String ipAddr);

    /**
     * 根据token查询用户信息
     * 
     * @param token
     * @return
     */
    CommonResult<UserOutputDTO> getUserInfo(String token);
}
